package com.rockcent.mall.lib.dto;

import com.rockcent.common.domain.DtoEntity;
import com.rockcent.mall.lib.domain.enumclass.OrderCommitType;

import java.math.BigDecimal;
import java.util.List;

/**
 * Created by HK on 16/10/10.
 *
 */
public class BuyOrderDto extends DtoEntity {

    // 购买产品 列表
    private List<BuyProductDto> buyProductList;
    // 购买产品 使用优惠券id 列表
    private Long buyCouponWalletId;
    // 购买产品 使用积分卡券id     当为积分卡券时，buyCouponWalletId && buyIntegrationCouponId 都要传值
    private Long buyIntegrationCouponId;
    // 购买产品 现金id 列表
    private Long buyCashId;
    // 购买产品 使用客户现金卡券id
    private Long buyIntegrationCashCouponWalletId;

    // 购买产品 收货地址
    private Long buyCustomerShoppingId;
    // 购买产品 备注
    private String buyRemark;
    // 购买产品 客户id
    private Long buyCustomerId;
    // 购买礼包id
    private Long buyGiftPacketId;
    // 购买礼包销售价
    private BigDecimal buyGiftPacketSellPrice;
    // 购买礼包数量
    private Long buyGiftPacketCount;
    // 购买礼包名称
    private String buyGiftPacketName;
    // 购买产品 下单类型 COMMON("普通下单"),GIFT_PACKET("礼包下单")
    private OrderCommitType buyCommitType;

    // 卡券优惠金额
    private BigDecimal couponDiscountPrice;
    // 优惠后金额
    private BigDecimal discountPrice;
    // 原价
    private BigDecimal totalPrice;
    //现金券金额
    private BigDecimal cashPrice = BigDecimal.ZERO;
    /**
     * 订单来源，WXAPP:微信小程序；WEXIN:公众号H5
     */
    private String orderSource;

    private BigDecimal shareFee;

    private BigDecimal shareRate;
    // 推广码ID
    private Long buyPromotionCodeId;

    public BigDecimal getShareRate() {
        return shareRate;
    }

    public void setShareRate(BigDecimal shareRate) {
        this.shareRate = shareRate;
    }

    public OrderCommitType getBuyCommitType() {
        return buyCommitType;
    }

    public void setBuyCommitType(OrderCommitType buyCommitType) {
        this.buyCommitType = buyCommitType;
    }

    public List<BuyProductDto> getBuyProductList() {
        return buyProductList;
    }

    public void setBuyProductList(List<BuyProductDto> buyProductList) {
        this.buyProductList = buyProductList;
    }

    public Long getBuyCouponWalletId() {
        return buyCouponWalletId;
    }

    public void setBuyCouponWalletId(Long buyCouponWalletId) {
        this.buyCouponWalletId = buyCouponWalletId;
    }

    public Long getBuyCustomerShoppingId() {
        return buyCustomerShoppingId;
    }

    public void setBuyCustomerShoppingId(Long buyCustomerShoppingId) {
        this.buyCustomerShoppingId = buyCustomerShoppingId;
    }

    public String getBuyRemark() {
        return buyRemark;
    }

    public void setBuyRemark(String buyRemark) {
        this.buyRemark = buyRemark;
    }


    public Long getBuyCustomerId() {
        return buyCustomerId;
    }

    public void setBuyCustomerId(Long buyCustomerId) {
        this.buyCustomerId = buyCustomerId;
    }


    public Long getBuyGiftPacketId() {
        return buyGiftPacketId;
    }

    public void setBuyGiftPacketId(Long buyGiftPacketId) {
        this.buyGiftPacketId = buyGiftPacketId;
    }

    public Long getBuyGiftPacketCount() {
        return buyGiftPacketCount;
    }

    public void setBuyGiftPacketCount(Long buyGiftPacketCount) {
        this.buyGiftPacketCount = buyGiftPacketCount;
    }

    public String getBuyGiftPacketName() {
        return buyGiftPacketName;
    }

    public void setBuyGiftPacketName(String buyGiftPacketName) {
        this.buyGiftPacketName = buyGiftPacketName;
    }

    public BigDecimal getBuyGiftPacketSellPrice() {
        return buyGiftPacketSellPrice;
    }

    public void setBuyGiftPacketSellPrice(BigDecimal buyGiftPacketSellPrice) {
        this.buyGiftPacketSellPrice = buyGiftPacketSellPrice;
    }

    public BigDecimal getCouponDiscountPrice() {
        return couponDiscountPrice;
    }

    public void setCouponDiscountPrice(BigDecimal couponDiscountPrice) {
        this.couponDiscountPrice = couponDiscountPrice;
    }

    public BigDecimal getDiscountPrice() {
        return discountPrice;
    }

    public void setDiscountPrice(BigDecimal discountPrice) {
        this.discountPrice = discountPrice;
    }

    public BigDecimal getTotalPrice() {
        return totalPrice;
    }

    public void setTotalPrice(BigDecimal totalPrice) {
        this.totalPrice = totalPrice;
    }

    public Long getBuyIntegrationCouponId() {
        return buyIntegrationCouponId;
    }

    public void setBuyIntegrationCouponId(Long buyIntegrationCouponId) {
        this.buyIntegrationCouponId = buyIntegrationCouponId;
    }

    public Long getBuyIntegrationCashCouponWalletId() {
        return buyIntegrationCashCouponWalletId;
    }

    public void setBuyIntegrationCashCouponWalletId(Long buyIntegrationCashCouponWalletId) {
        this.buyIntegrationCashCouponWalletId = buyIntegrationCashCouponWalletId;
    }

    public BigDecimal getCashPrice() {
        return cashPrice;
    }

    public void setCashPrice(BigDecimal cashPrice) {
        this.cashPrice = cashPrice;
    }

    public Long getBuyCashId() {
        return buyCashId;
    }

    public void setBuyCashId(Long buyCashId) {
        this.buyCashId = buyCashId;
    }

    public String getOrderSource() {
        return orderSource;
    }

    public void setOrderSource(String orderSource) {
        this.orderSource = orderSource;
    }

    public BigDecimal getShareFee() {
        return shareFee;
    }

    public void setShareFee(BigDecimal shareFee) {
        this.shareFee = shareFee;
    }

    public Long getBuyPromotionCodeId() {
        return buyPromotionCodeId;
    }

    public void setBuyPromotionCodeId(Long buyPromotionCodeId) {
        this.buyPromotionCodeId = buyPromotionCodeId;
    }

    @Override
    public String toString() {
        return "BuyOrderDto{" +
                "buyProductList=" + buyProductList +
                ", buyCouponWalletId=" + buyCouponWalletId +
                ", buyIntegrationCouponId=" + buyIntegrationCouponId +
                ", buyCashId=" + buyCashId +
                ", buyIntegrationCashCouponWalletId=" + buyIntegrationCashCouponWalletId +
                ", buyCustomerShoppingId=" + buyCustomerShoppingId +
                ", buyRemark='" + buyRemark + '\'' +
                ", buyCustomerId=" + buyCustomerId +
                ", buyGiftPacketId=" + buyGiftPacketId +
                ", buyGiftPacketSellPrice=" + buyGiftPacketSellPrice +
                ", buyGiftPacketCount=" + buyGiftPacketCount +
                ", buyGiftPacketName='" + buyGiftPacketName + '\'' +
                ", buyCommitType=" + buyCommitType +
                ", couponDiscountPrice=" + couponDiscountPrice +
                ", discountPrice=" + discountPrice +
                ", totalPrice=" + totalPrice +
                ", cashPrice=" + cashPrice +
                ", orderSource='" + orderSource + '\'' +
                ", shareFee=" + shareFee +
                ", buyPromotionCodeId=" + buyPromotionCodeId +
                ", shareRate=" + shareRate +
                '}';
    }
}
